Architecture For Control Networks
   HOME

TheInfoList



OR:

Architecture for Control Networks (ACN) is a suite of
network protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchroniza ...
s for control of entertainment technology equipment, particularly as used in live performance or large-scale installations. For example, lighting, audio or special effects equipment. ACN is maintained by
Entertainment Services and Technology Association The Entertainment Services & Technology Association (ESTA) is an American non-profit trade association that represents the entertainment technology industry and is dedicated to promoting professionalism and growth within it. It also provides a for ...
and its first official release was
ANSI The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
Standard E1.17-2006 - Entertainment Technology - Architecture for Control Networks. The standard was subsequently revised and released as ANSI E1.17-2010. ACN was initially designed to be layered on top of
UDP/IP In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
and therefore will run over most IP transports including standard, inexpensive
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
and
802.11 IEEE 802.11 is part of the IEEE 802 set of local area network (LAN) technical standards, and specifies the set of media access control (MAC) and physical layer (PHY) protocols for implementing wireless local area network (WLAN) computer com ...
(
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
) networks.


Protocol architecture

ACN defines a common protocol architecture, two major network protocols (SDT, DMP), a device description language (DDL) and a number of ‘E1.17 Profiles for Interoperability’ (known as ''EPI''s or '' interoperability profiles'') which define how elements of the ACN architecture must be used in a particular context to achieve interoperability. For example, by providing specific values or ranges for timing parameters to be used in a particular network environment. The breakdown of ACN into sub-protocols, interoperability profiles and other small pieces has been criticized as making ACN hard to read and understand but it makes the architecture highly modular and cleanly layered and this has allowed many of the pieces to be operated in other contexts or replaced or revised without changing the other pieces. For example, DMP has been operated over TCP as well as over SDT as defined in the initial standard, DDL has been adapted with little change to describe devices accessed by DMX512 (ANSI E1.31/Streaming ACN), and several interoperability profiles have seen major revision or replacement without disturbing the other parts of the standard.


Common Architecture

The common architecture specification defines a format of nested
protocol data unit In telecommunications, a protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. It is composed of protocol-specific control information and user data. In the layered architectures of c ...
s (PDUs), rather similar to TLV encoding, which are used in the main protocols. It then defines how a minimal Root Layer Protocol is used to splice the higher level protocols into a lower level transport and defines such a Root Layer Protocol using the PDU format for use on
UDP/IP In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
.


Session Data Transport

Session Data Transport (SDT) is a
reliable multicast A reliable multicast is any computer networking protocol that provides a '' reliable'' sequence of packets to multiple recipients simultaneously, making it suitable for applications such as multi-receiver file transfer. Overview Multicast is a net ...
transport protocol which operates over
UDP/IP In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
which can be used to group peers within a network into ''sessions'' and deliver messages to them individually or as a group. Message delivery is ordered and messages may be selectively sent reliably or unreliably on a message-by-message basis (reliability is very important for some data while avoiding the time and resource overhead of the reliability mechanism is beneficial for others). The reliability mechanism also provides online status so a component will detect when a connection is broken. SDT provides a high degree of fine tuning over the trade-off between latency, reliability levels and resource requirements and availability of large numbers of concurrent sessions means they are a powerful tool for grouping and managing components whose functions are related or whose communication requirements are similar.


Device Management Protocol

Device Management Protocol (DMP) represents any device as a set of addressable properties which represent its current or desired state. Monitoring or control by a controller is achieved by setting or examining the values of those properties. To avoid the inefficiencies of polling, in addition to simply reading property values (using a ''Get-Property'' message) DMP provides a subscription mechanism whereby a device will asynchronously send event messages to all subscribed controllers when the value of a property changes. DMP expects that its connections can provide reliability so that ''Set-Property'' and ''Event'' messages which form a large part of the operational bandwidth in a show situation do not require explicit acknowledgement at the DMP level. In the E1.17 standard and the majority of systems SDT provides this reliability but DMP has also been operated using TCP to provide its reliable connections. The size in bits, representation, read/write accessibility and function of each property in a DMP device is not determined by the protocol which only defines the mechanism to read and/or write the property value. Instead, that information must either be provided externally by a device description written in DDL or in limited cases may be pre-programmed by fore-knowledge of specific device types.


Device Description Language

Device Description Language (DDL) allows a machine parsable description of the interface and capabilities of any device to be defined. This description can be interpreted by a controller which may then automatically configure itself for controlling that device. The description not only provides the address and property mapping information which is necessary for DMP to operate but it can also contain a huge amount of information on the functionality, capabilities and semantics of the device in an extensible format which allows a controller to extract the features it needs for its specific context while skipping over information which is not relevant to its needs. DDL is an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
based language and descriptions are contained in a small number of
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
documents. In normal ACN systems the description for a device may be downloaded from the device itself. However, descriptions may also be distributed in other ways (such as internet download) and since a description is valid for all devices of the same type, controllers can typically maintain a cache of descriptions for devices they commonly encounter.


Interoperability profiles

Interoperability profiles (EPIs) are provided in ANSI E1.17 for initial
service discovery Service discovery is the process of automatically detecting devices and services on a computer network. This reduces the need for manual configuration by users and administrators. A service discovery protocol (SDP) is a network protocol that hel ...
in a system; for allocation of
multicast address A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link laye ...
es when used on UDP and
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
; for
UDP port This is a list of TCP and UDP port numbers used by protocols for operation of network applications. The Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) only need one port for duplex, bidirectional traffic. They usually u ...
allocation when multicasting, for
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
assignment in conformant systems, for protocol timeouts in specific environments and so on. Other EPIs which conform to the ACN Architecture have been developed outside the ANSI E1.17 standard (see below).


External extensions

Due to its modular nature ACN has been easy to extend. A major protocol ANSI E1.31 known as Streaming ACN or sACN was developed by the same organization and uses the Root Layer and PDU format of ACN to transport the data of
DMX512 DMX512 is a standard for digital communication networks that are commonly used to control lighting and effects. It was originally intended as a standardized method for controlling stage lighting dimmers, which, prior to DMX512, had employed ...
data over IP networks (or any other ACN compatible transport). A number of further Interoperability Profiles have been developed and standardized by PLASA. These include: ANSI E1.30-3-2009 ''Time Reference in ACN Systems Using SNTP and NTP'' ANSI E1.30-4-2010 which defines how to use DDL to describe devices controlled using DMX512 or Streaming ACN


Implementations

An early
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
implementation of ACN was released as OpenACN and is available on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirrorin ...
. This has been ported to a wide range of platforms, but it is limited in its scope and does not implement any DDL support. There is another open source ACN project which is implemented in C#. This aims to provide a full
managed code Managed code is computer program code that requires and will execute only under the management of a Common Language Infrastructure (CLI); Virtual Execution System (VES); virtual machine, e.g. .NET, CoreFX, or .NET Framework; Common Language Runt ...
implementation and includes code for several other related protocols. An full implementation entitled Acacian in C, which includes parsing of DDL descriptions to generate DMP structures was released under the
Mozilla Public Licence The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird The MPL license is developed and maintained by Mozilla, which seeks to balance the concerns ...
in 2014 E1.31 (Streaming DMX over ACN) is supported on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
(
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
i386 The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor introduced in 1985. The first versions had 275,000 transistorsx86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
) and
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
(
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
; i386, x86-64) by the Open Lighting Architecture. A
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH ...
implementation of E1.31 can be found on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
. ACN has been deployed in proprietary implementations by a number of companies, including its use by Electronic Theatre Controls (ETC) as the basis of their 'NET3' branded networked control infrastructure and by Shure Inc. in control of wireless microphones.


See also

*
Lighting control system A lighting control system is an intelligent network based lighting control solution that incorporates communication between various system inputs and outputs related to lighting control with the use of one or more central computing devices. Light ...
s for buildings or residences *
Lighting control console A lighting control console (also called a lightboard, lighting board, or lighting desk) is an electronic device used in theatrical lighting design to control multiple stage lights at once. They are used throughout the entertainment industry and a ...
s for stage lighting and other DMX-512 devices *
Art-Net Art-Net is a royalty-free communications protocol for transmitting the DMX512-A lighting control protocol and Remote Device management (RDM) protocol over the User Datagram Protocol (UDP) of the Internet protocol suite. It is used to communic ...
, a proprietary protocol for transmitting DMX-512 over UDP/IP *
Open Control Architecture The Open Control Architecture (OCA) is a communications protocol architecture for control, monitoring, and connection management of networked audio and video devices. Such networks are referred to as "media networks". The official specification of ...
for control and monitoring of networked audio and video devices


References

{{Reflist


External links


ESTA's Technical Standards Program
Stage lighting Internet Standards Application layer protocols